package com.macro.mall.commission.service.bo;

import com.macro.mall.common.api.input.BaseInput;
import lombok.Getter;
import lombok.Setter;
import lombok.ToString;
import lombok.experimental.Accessors;

import javax.validation.Valid;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;

/**
 * 修改用户账户余额变更记录input
 *
 * @author xuyanjun
 * @date 2019-12-11
 */
@Valid
@Getter
@Setter
@ToString
@Accessors(chain = true)
public class UpdateUserBalanceChangeInput extends BaseInput {

    /**
     * id
     */
    @NotNull(message = "id不能为空。")
    private Long id;

    /**
     * 用户id
     */
    @NotNull(message = "用户id不能为空。")
    private Long userId;

    /**
     * 变化金额
     */
    @NotNull(message = "变化金额不能为空。")
    private Integer changeAmount;

    /**
     * 变化后余额
     */
    @NotNull(message = "变化后余额不能为空。")
    private Integer afterChangeBalance;

    /**
     * 变化类型枚举 0:NONE:无 5:COMMISSION_INCOME:佣金收入 100:WITHDRAWAL:提现
     */
    @NotNull(message = "变化类型枚举 0:NONE:无 5:COMMISSION_INCOME:佣金收入 100:WITHDRAWAL:提现不能为空。")
    private Integer changeType;

    /**
     * 变化原因
     */
    @NotBlank(message = "变化原因不能为空。")
    private String reason;

    /**
     * 备注
     */
    private String remark;

}
